Python Crash Course-note5

-字典


字典
使用字典
在python中,字典是一系列键-值对。每一个键都与一个值相关联,可以使用键来访问与之相关联的值。字典中的值可以是任何python对象。

1
2
//字典用放在花括号{}中的一些列键值对表示
alien={'color':'green','points':5}

键和值之间用冒号分隔,而键-值对之间用逗号分隔。

访问字典中的值

1
2
3
4
alien={'color':'green','points':5}
print(alien['color'])
//OUTPUT
green

添加键-值对

1
2
3
4
5
6
7
8
9
alien={'color':'green','points':5}
print(alien)
alien['x']=25
alien['y']=20
print(alien)
//OUTPUT
{'color': 'green', 'points': 5}
{'color': 'green', 'points': 5, 'x': 25, 'y': 20}

python中不关心键值对的添加顺序,而只关心键和值之间的对应关系;

创建空字典

1
2
alien={}
alien['a']='b'

先创建,再逐个添加

修改字典中的值

1
2
3
alien={}
alien['a']='b'
alien['a']='c'

直接进行重新赋值覆盖即可

删除键-值对

1
2
3
4
5
6
7
8
9
alien={}
alien['a']='b'
alien['b']='c'
print(alien)
del(alien['a'])
print(alien)
//OUTPUT
{'a': 'b', 'b': 'c'}
{'b': 'c'}

使用del语句删除即可。

遍历字典

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
user={
'username':'james',
'fist':'lebron',
'last':'jerome',
}
for key,value in user.items():
print("\nKey:"+key)
print("Value:"+value)
//OUTPUT
Key:username
Value:james
Key:fist
Value:lebron
Key:last
Value:jerome

items():
返回可遍历的(键, 值) 元组数组。

遍历字典中的所有键
在不需要使用字典中的值时,使用方法keys()遍历字典中的键。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
user={
'username':'james',
'fist':'lebron',
'last':'jerome',
}
for name in user.keys():
print("\n"+name)
//OUTPUT
username
fist
last

顺序遍历字典中的键
字典记录键和值之间的关联关系,但获取字典的元素时,获取顺序是不可预测的。如果要顺序遍历,则可以使用函数sorted()来获取按特定顺序排列的键排列的副本。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
user={
'username':'james',
'fist':'lebron',
'last':'jerome',
}
for name in sorted(user.keys()):
print("\n"+name)
//OUTPUT
username
fist
last

遍历字典中的所有值
使用方法values()遍历字典中的所有值。

1
2
3
4
5
6
7
8
9
10
11
user={
'username':'james',
'fist':'lebron',
'last':'jerome',
}
for number in user.values():
print(number)
//output
james
lebron
jerome

字典的嵌套

1
2
3
4
5
6
7
8
9
10
alien1=['a','b','c']
alien2=['d','e','f']
alien3=['g','h','i']
alien=[alien1,alien2,alien3]
for alien in alien:
print(alien)
//OUTPUT
['a', 'b', 'c']
['d', 'e', 'f']
['g', 'h', 'i']


Thanks for your reward!